<?php
class partidosController extends ControllerBase
{
	
	public function listar()
	{
		require ("Modelos/playerModel.php");
		$listado = new playerModel();
		$listado2 = new playerModel();
		$listaTotal = $listado->listarPlayer();
		$listaTotal2 = $listado2->listarPlayer();
		
		$data["listaTotal"] = $listaTotal;
		$data["listaTotal2"] = $listaTotal2;
		
		$this->view->show("formPartidos.php",$data);
		
/*		include_once ("Modelos/playerModel.php");
		$listar=new playerModel();
		$listado = $listar->listarPlayer();
		require ("Vistas/Partes/eliminar.php");
*/
	}
	
	public function formEnfrentamientos()
	{
		require ("Modelos/playerModel.php");
		$listado = new playerModel();
		$listado2 = new playerModel();
		$listaTotal = $listado->listarPlayer();
		$listaTotal2 = $listado2->listarPlayer();
		
		$data["listaTotal"] = $listaTotal;
		$data["listaTotal2"] = $listaTotal2;
		
		$this->view->show("formEnfrentamientos.php",$data);
	}
	
	public function enfrentamientos()
	{
		include_once ("Modelos/partidosModel.php");
		$enfrentamientos = new partidosModel();
		$id1 = $_POST["idJugador1"];
		$id2 = $_POST["idJugador2"];
		$partidos = $enfrentamientos->enfrentamientosPlayers($id1,$id2);
		$data["enfrentamientos"] = $partidos;
		$data["infoEnfrentamientosid1"] = $enfrentamientos->listarJugador($id1);
		$data["infoEnfrentamientosid2"] = $enfrentamientos->listarJugador($id2);
		$data["id1"] = $id1;
		$data["id2"] = $id2;  
		$this->view->show("enfrentamientos.php",$data);
	}
	
    public function procesarPartido()
    { // carga un partido
		function msg($status,$txt)
	    {
			return '{"status":'.$status.',"txt":"'.$txt.'"}';
		}
		include_once ("Modelos/partidosModel.php");
		$partido = new partidosModel();

		$fecha = $_POST["fecha"];
		$nombreTorneo = $_POST["nombreTorneo"];
		$id1 = $_POST["idJugador1"];
		$id2 = $_POST["idJugador2"];
		$resid1 = $_POST["resid1"];
		$resid2 = $_POST["resid2"];
		$set1id1 = $_POST["primerSetid1"];
		$set1id2 = $_POST["primerSetid2"];
		$set2id1 = $_POST["segundoSetid1"];
		$set2id2 = $_POST["segundoSetid2"];
		$set3id1 = $_POST["tercerSetid1"];
		$set3id2 = $_POST["tercerSetid2"];
		$set4id1 = $_POST["cuartoSetid1"];
		$set4id2 = $_POST["cuartoSetid2"];
		$set5id1 = $_POST["quintoSetid1"];
		$set5id2 = $_POST["quintoSetid2"];
		if ($resid1<$resid2)
			$idGanador = $id2;
		else		
			$idGanador = $id1;

		$partido->addPartido($fecha,$nombreTorneo,$id1,$id2,$resid1,$resid2,$set1id1,$set1id2,$set2id1,$set2id2,$set3id1,$set3id2,$set4id1,$set4id2,$set5id1,$set5id2,$idGanador);
		Header("Location:index.php?controller=partidos&accion=actualizar&id1=$id1&id2=$id2&resid1=$resid1&resid2=$resid2&set1id1=$set1id1&set1id2=$set1id2&set2id1=$set2id1&set2id2=$set2id2&set3id1=$set3id1&set3id2=$set3id2&set4id1=$set4id1&set4id2=$set4id2&set5id1=$set5id1&set5id2=$set5id2&idGanador=$idGanador");
		
    } // fin registrar	
	
		public function actualizar()//$idPlayer1,$idPlayer2, $idGanador)
		{
			include_once("Modelos/partidosModel.php");
			$actualizarid1 = new partidosModel();
			$actualizarid2 = new partidosModel();

		//CAPTURO DATOS
			$idGanador = $_GET["idGanador"];
			$id1 = $_GET["id1"];
			$id2 = $_GET["id2"];
			$resid1 = $_GET["resid1"];
			$resid2 = $_GET["resid2"];
			$set1id1 = $_GET["set1id1"];
			$set1id2 = $_GET["set1id2"];
			$set2id1 = $_GET["set2id1"];
			$set2id2 = $_GET["set2id2"];
			$set3id1 = $_GET["set3id1"];
			$set3id2 = $_GET["set3id2"];
			$set4id1 = $_GET["set4id1"];
			$set4id2 = $_GET["set4id2"];
			$set5id1 = $_GET["set5id1"];
			$set5id2 = $_GET["set5id2"];
			
		// EXTRAIGO DATOS ANTERIORES DE LOS JUGADORES	
			$datosid1 = $actualizarid1->listarJugador($id1);
			$datosid2 = $actualizarid2->listarJugador($id2);
			
		// ACTUALIZO JUGADOR ID 1
			
			$setsGanadosid1 = $datosid1["setsGanados"] + $resid1 ;
			$setsPerdidosid1 = $datosid1["setsPerdidos"] + $resid2 ;
			$setsTotalesid1 = $datosid1["setsTotales"] + $resid2 + $resid1 ;
			
			$puntosGanadosid1 = $datosid1["puntosGanados"] + $set1id1 + $set2id1 + $set3id1 + $set4id1 + $set5id1 ;
			$puntosPerdidosid1 = $datosid1["puntosPerdidos"] + $set1id2 + $set2id2 + $set3id2 + $set4id2 + $set5id2 ;
			$puntosTotalesid1 = $datosid1["puntosTotales"] + ($puntosGanadosid1-$datosid1["puntosGanados"]) + ($puntosPerdidosid1-$datosid1["puntosPerdidos"]);
			
			
		// ACTUALIZO JUGADOR ID 2
			
			$setsGanadosid2 = $datosid2["setsGanados"] + $resid2 ;
			$setsPerdidosid2 = $datosid2["setsPerdidos"] + $resid1 ;
			$setsTotalesid2 = $datosid2["setsTotales"] + $resid2 + $resid1 ;
			
			$puntosGanadosid2 = $datosid2["puntosGanados"] + $set1id2 + $set2id2 + $set3id2 + $set4id2 + $set5id2 ;
			$puntosPerdidosid2 = $datosid2["puntosPerdidos"] + $set1id1 + $set2id1 + $set3id1 + $set4id1 + $set5id1 ;
			$puntosTotalesid2 = $datosid2["puntosTotales"] + ($puntosGanadosid2-$datosid2["puntosGanados"]) + ($puntosPerdidosid2-$datosid2["puntosPerdidos"]);
		
		//ACTUALIZO PARTIDOS GANADOS/PERDIDOS/TOTALES DE LOS DOS ID
			if ($idGanador == $id1)
			{
			//actualizo id 1	
				$partidosGanadosid1 = $datosid1["partidosGanados"] + 1;
				$partidosPerdidosid1 = $datosid1["partidosPerdidos"] ;
				$partidosTotalesid1 = $partidosGanadosid1 + $partidosPerdidosid1;
			//actualizo id 2	
				$partidosGanadosid2 = $datosid2["partidosGanados"];
				$partidosPerdidosid2 = $datosid2["partidosPerdidos"] + 1 ;
				$partidosTotalesid2 = $partidosGanadosid2 + $partidosPerdidosid2;
			}else{
			//actualizo id 1	
				$partidosGanadosid1 = $datosid1["partidosGanados"];
				$partidosPerdidosid1 = $datosid1["partidosPerdidos"] + 1;
				$partidosTotalesid1 = $partidosGanadosid1 + $partidosPerdidosid1;
			//actualizo id 2	
				$partidosGanadosid2 = $datosid2["partidosGanados"] + 1 ;
				$partidosPerdidosid2 = $datosid2["partidosPerdidos"] ;
				$partidosTotalesid2 = $partidosGanadosid2 + $partidosPerdidosid2;
				}
			
			
			//ACTUALIZAR RATING
			$ratingid1=$datosid1["rating"];
			$ratingid2=$datosid2["rating"];
			
			$variacion = $ratingid1 - $ratingid2 ;
			$mayorRating = $datosid1["idPlayer"];
			$menorRating = $datosid2["idPlayer"];
						
			if ($variacion < 0)			
			{
				$variacion = $variacion * (-1);
				$mayorRating = $datosid2["idPlayer"];  
				$menorRating = $datosid1["idPlayer"];
			}
			
			
			
			switch($variacion)
			{
				case ($variacion == 0) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 10;
							$totalRatingid2 = $ratingid2 - 10;
						}else{
							$totalRatingid1 = $ratingid1 - 10;
							$totalRatingid2 = $ratingid2 + 10;
							 }
					}else{// gano el de menor rating
							if ($menorRating == $id1){
								$totalRatingid1 = $ratingid1 + 10;
								$totalRatingid2 = $ratingid2 - 10;
								break;
							}else{
								$totalRatingid1 = $ratingid1 - 10;
								$totalRatingid2 = $ratingid2 + 10;
								
							 	}
							}
						break;
				case ($variacion>0 and $variacion<25) : 
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 10;
							$totalRatingid2 = $ratingid2 - 10;
						}else{
							$totalRatingid1 = $ratingid1 - 10;
							$totalRatingid2 = $ratingid2 + 10;
							 }
					
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 10;
							$totalRatingid2 = $ratingid2 - 10;
						}else{
							$totalRatingid1 = $ratingid1 - 10;
							$totalRatingid2 = $ratingid2 + 10;
							 }
						}
					break;

				case (($variacion>=25) and ($variacion<50)) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 9;
							$totalRatingid2 = $ratingid2 - 9;	
						}else{
							$totalRatingid1 = $ratingid1 - 9;
							$totalRatingid2 = $ratingid2 + 9;			
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 12;
							$totalRatingid2 = $ratingid2 - 12;
						}else{
							$totalRatingid1 = $ratingid1 - 12;
							$totalRatingid2 = $ratingid2 + 12;
							 }
						}
					break;
						
				case ($variacion>=50 and $variacion<100) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 8;
							$totalRatingid2 = $ratingid2 - 8;
						}else{
							$totalRatingid1 = $ratingid1 - 8;
							$totalRatingid2 = $ratingid2 + 8;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 14;
							$totalRatingid2 = $ratingid2 - 14;
						}else{
							$totalRatingid1 = $ratingid1 - 14;
							$totalRatingid2 = $ratingid2 + 14;
							 }
						} 
					break;
				case ($variacion>=100 and $variacion<150) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 7;
							$totalRatingid2 = $ratingid2 - 7;
						}else{
							$totalRatingid1 = $ratingid1 - 7;
							$totalRatingid2 = $ratingid2 + 7;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 16;
							$totalRatingid2 = $ratingid2 - 16;
						}else{
							$totalRatingid1 = $ratingid1 - 16;
							$totalRatingid2 = $ratingid2 + 16;
							 } 
						}
					break;
				case ($variacion>=150 and $variacion<200) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 6;
							$totalRatingid2 = $ratingid2 - 6;
						}else{
							$totalRatingid1 = $ratingid1 - 6;
							$totalRatingid2 = $ratingid2 + 6;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 18;
							$totalRatingid2 = $ratingid2 - 18;
						}else{
							$totalRatingid1 = $ratingid1 - 18;
							$totalRatingid2 = $ratingid2 + 18;
							 } 
						}
					break;
					
				case ($variacion>=200 and $variacion<300) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 5;
							$totalRatingid2 = $ratingid2 - 5;
						}else{
							$totalRatingid1 = $ratingid1 - 5;
							$totalRatingid2 = $ratingid2 + 5;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 20;
							$totalRatingid2 = $ratingid2 - 20;
						}else{
							$totalRatingid1 = $ratingid1 - 20;
							$totalRatingid2 = $ratingid2 + 20;
							 } 
						}
					break;
					
				case ($variacion>=300 and $variacion<400) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 4;
							$totalRatingid2 = $ratingid2 - 4;
						}else{
							$totalRatingid1 = $ratingid1 - 4;
							$totalRatingid2 = $ratingid2 + 4;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 22;
							$totalRatingid2 = $ratingid2 - 22;
						}else{
							$totalRatingid1 = $ratingid1 - 22;
							$totalRatingid2 = $ratingid2 + 22;
							 }
						}
					break;
					
				case ($variacion>=400 and $variacion<500) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 3;
							$totalRatingid2 = $ratingid2 - 3;
						}else{
							$totalRatingid1 = $ratingid1 - 3;
							$totalRatingid2 = $ratingid2 + 3;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 24;
							$totalRatingid2 = $ratingid2 - 24;
						}else{
							$totalRatingid1 = $ratingid1 - 24;
							$totalRatingid2 = $ratingid2 + 24;
							 }
						}
					break;
					
				case ($variacion>=500 and $variacion<750) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 2;
							$totalRatingid2 = $ratingid2 - 2;
						}else{
							$totalRatingid1 = $ratingid1 - 2;
							$totalRatingid2 = $ratingid2 + 2;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 26;
							$totalRatingid2 = $ratingid2 - 26;
						}else{
							$totalRatingid1 = $ratingid1 - 26;
							$totalRatingid2 = $ratingid2 + 26;
							 }
						}
					break;
					
				case ($variacion>=750) :
					if ($idGanador == $mayorRating)
					{
						if ($mayorRating == $id1){
							$totalRatingid1 = $ratingid1 + 1;
							$totalRatingid2 = $ratingid2 - 1;
						}else{
							$totalRatingid1 = $ratingid1 - 1;
							$totalRatingid2 = $ratingid2 + 1;
							 }	
					}else{// gano el de menor rating
						if ($menorRating == $id1){
							$totalRatingid1 = $ratingid1 + 28;
							$totalRatingid2 = $ratingid2 - 28;
						}else{
							$totalRatingid1 = $ratingid1 - 28;
							$totalRatingid2 = $ratingid2 + 28;
							 }
						
						}
					break;
			} // FIN DEL SISTEMA DE RATING
			
			
			
			
			//actualizo Categoría

					
			switch($totalRatingid1)
			{
				case ($totalRatingid1<149) : $categoriaid1 = "D";break;
				case ($totalRatingid1>=149 and $ratingid1<399) : $categoriaid1="C";break;
				case ($totalRatingid1>=399 and $ratingid1<749) : $categoriaid1="B";break;
				case ($totalRatingid1>749) : $categoriaid1="A";break;

			}
			
			switch($totalRatingid2)
			{
				case ($totalRatingid2<149) : $categoriaid2 = "D"; break;
				case ($totalRatingid2>=149 and $ratingid2<399) : $categoriaid2="C";break;
				case ($totalRatingid2>=399 and $ratingid2<749) : $categoriaid2="B";break;
				case ($totalRatingid2>=749) : $categoriaid2="A";break;

			}
			
			if ($totalRatingid1 < 0)
				$totalRatingid1= 0;
			if ($totalRatingid2 < 0)
				$totalRatingid2= 0;


			$actualizarid1->actualizarInfo($id1,$totalRatingid1,$categoriaid1,$partidosGanadosid1,$partidosPerdidosid1,$partidosTotalesid1,$setsGanadosid1,$setsPerdidosid1,$setsTotalesid1,$puntosGanadosid1,$puntosPerdidosid1,$puntosTotalesid1);
			$actualizarid2->actualizarInfo($id2,$totalRatingid2,$categoriaid2,$partidosGanadosid2,$partidosPerdidosid2,$partidosTotalesid2,$setsGanadosid2,$setsPerdidosid2,$setsTotalesid2,$puntosGanadosid2,$puntosPerdidosid2,$puntosTotalesid2);
		$this->view->show("principal.php",$data);
			
		}
}//fin clase inicioControlador()
?>
